/**
 * 任意数字准换成 时分秒
 * @param time
 * @return
 */
export function number2date(times){
  if(typeof times ==='number'){
    if(times <= 0){
      return '00:00:00';
    }else{
      let hh = parseInt(times / 3600); //小时
      let shh = times - hh * 3600;
      let ii = parseInt(shh / 60);
      let ss = shh - ii * 60;
      return (hh < 10 ? '0'+hh : hh) + ':' + (ii < 10 ? '0'+ii : ii) +':'+(ss < 10 ? '0'+ss : ss);
    }
  }else{
    return '00:00:00';
  }
}

// 格式化日期时间
export function dateFormat(date, fmt = "yyyy-MM-dd hh:mm:ss") {
  date = new Date(date)
  var o = {
    "M+": date.getMonth() + 1, //月份
    "d+": date.getDate(), //日
    "h+": date.getHours(), //小时
    "m+": date.getMinutes(), //分
    "s+": date.getSeconds(), //秒
    "q+": Math.floor((date.getMonth() + 3) / 3), //季度
    S: date.getMilliseconds(), //毫秒
  }
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length))
  }
  for (var k in o) {
    if (new RegExp("(" + k + ")").test(fmt)) {
      fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length))
    }
  }
  return fmt
}

// 克隆对象
export function clone(source) {
  if (!source && typeof source !== "object") {
    console.warn("[Dreamer Error]: 源对象为空，深度克隆失败。")
  }
  const targetObj = source.constructor === Array ? [] : {}
  Object.keys(source).forEach((keys) => {
    if (source[keys] && typeof source[keys] === "object") {
      targetObj[keys] = clone(source[keys])
    } else {
      targetObj[keys] = source[keys]
    }
  })
  return targetObj
}
